package XMFramework.Interface
{
	public interface IResourcesManager
	{
		function clearResourceRequest( obj : IResources ) : void;
		
		// Transfer resource class to IResources object or start load process if not exist
		function getResource( bucket : String, className : String, obj : IResources ) : void
			
		function getResourceFunc( bucket : String, className : String, func : Function, thisObject : * = null ) : void
			
		function getImmediateResourceFunc( bucket : String, className : String ) : Class;
		
		// @return The unique id that identify only for this method call 
		function getResourceFuncEx( bucket : String, className : String, func : Function, thisObject : *, ...params ) : void;
		
		function getRemoteAssetFunc( url : String, func : Function, thisObject : * = null ):void;
	}
}